package com.dc.refactoring._4_简化条件表达式._4_RemoveControlFlag;

import java.util.List;

/**
 * Description: 移除控制标记_使用中断代替控制标记
 * @author: gdc
 * @date: 2020/12/6
 * @version 1.0
 */
public class UseBreakInsteadOfFlag {

    public void sendAlert(){}

    /**
     * 改造前_使用控制标记
     * 检查安全性函数，对传入的 String 列表进行遍历，
     * 若存在 "trmp"、"job"字符，则调用 senAlert()方法处理业务逻辑
     * find 标示的作用，是保证 sendAlert() 只被调用一次
     */
    public void checkSecurity1(List<String> list){
        boolean find = false;
        for(String s:list){
            if(!find) {
                if ("trmp".equals(s)) {
                    sendAlert();
                    find = true;
                } else if ("job".equals(s)) {
                    sendAlert();
                    find = true;
                }
            }
        }
    }

    /**
     * 改造前_使用break替换控制标记
     */
    public void checkSecurity2(List<String> list){
        for(String s:list){
            if ("trmp".equals(s)) {
                sendAlert();
                break;
            } else if ("job".equals(s)) {
                sendAlert();
                break;
            }
        }


    }
}
